package study.saas.order.service;

import com.alibaba.dubbo.config.annotation.Service;
import study.saas.common.viewmodel.ApiResultV2;
import study.saas.common.viewmodel.PageModel;
import study.saas.order.entity.Commodity;
import study.saas.order.service.model.CommodityCreateDTO;
import study.saas.order.service.model.CommodityFilterDTO;
import study.saas.order.service.model.CommodityModifyDTO;

/**
 * @author HuBoyu
 */
@Service
public interface CommodityFacade {
    /**
     * 获取商品
     *
     * @param id 商品ID
     * @return 返回商品信息
     */
    ApiResultV2<Commodity> get(Integer id);

    /**
     * 删除商品
     */
    ApiResultV2<Commodity> delete(Integer id);

    /**
     * 修改
     *
     * @param modify 商品信息
     * @return 返回操作结果
     */
    ApiResultV2 modify(CommodityModifyDTO modify);

    /**
     * 分页查询
     *
     * @param filter 过滤条件
     * @return 返回操作结果
     */
    ApiResultV2<PageModel<Commodity>> list(CommodityFilterDTO filter);


    ApiResultV2<Commodity> create(CommodityCreateDTO create);
}
